I. Field of the Invention
The present invention relates to random number generators. More particularly, the present invention relates to a system and method for generating random numbers in a wireless communication network.
II. Description of the Related Art
As wireless communication systems are gaining in popularity, there is an increase in the demand for security within the systems. Secured networks would allow for the wireless transmission of secret information for military applications. Individuals may benefit from this technology as their privacy may be better protected.
A wireless communication system in which security may be desired makes use of code division multiple access (CDMA) modulation techniques. Although other techniques such as time division multiple access (TDMA), frequency division multiple access (FDMA), and amplitude modulation (AM) schemes such as amplitude companded single sideband (ACSSB) are known, CDMA has significant advantages over these other techniques. The use of CDMA techniques in a multiple access communication system is disclosed in U.S. Pat. No. 4,901,307, entitled xe2x80x9cSPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS,xe2x80x9d assigned to the assignee of the present invention and incorporated by reference herein.
In the wireless CDMA system, a large number of wireless subscriber units, each having a transceiver, communicates through satellite repeaters or terrestrial stations. The subscribers may wish to engage in secured communication. Public key cryptography forms the basis for a secure connectivity between two subscribers. In a wireless system, processes that make use of public key cryptography include over-the-air authentication of a subscriber unit, establishment of a secure session for a web browser, and encryption of transmitted data.
Public key cryptography uses a xe2x80x9cpublic keyxe2x80x9d to encrypt a message and a xe2x80x9cprivate keyxe2x80x9d to decrypt the message. The public key may be made public: Anyone may use the public key to encrypt the message, but only the individual with the corresponding private key can decrypt the message. One variation of public key cryptography further makes use of a xe2x80x9csession key.xe2x80x9d In this variation, user A sends user B a public key. User B generates a random session key, encrypts it using user A""s public key, and sends it to user A. User A decrypts user B""s message using a private key to recover the session key. Then, both users encrypt their communications using the same session key.
Public key cryptography relies on a random number generator. Random numbers are used for creating public/private key pairs and producing session keys. Pseudo-random number generators are readily available, but they may not provide the level of security desired. Pseudo-random generators make use of a seed to generate a known sequence of numbers. If the seed and the generator are discovered, an adversary may break the cryptosystem.
A few real random-sequence generators are now available. Two examples are the ring oscillator and the noise diode. Both are hardware devices that make use of noise in the electrical circuits to generate random numbers. The ring oscillator samples the ringing in a LCR circuit. The noise diode digitizes the noise present in voltage of a silicon diode. These devices perform well, but are costly and therefore not always a practical choice. For use in a wireless subscriber unit, the random number generator should have little impact on the manufacturing cost of the unit. Additionally, the random number generator should not drain the battery of the unit. A random number generator that possesses these characteristics is provided by the present invention in the manner described below.
The present invention makes use of features existing in a wireless communication network for generating random numbers. The noise present at the input to a wireless receiver is exploited as a source of real random numbers. A wireless communication network, such as the code division multiple access (CDMA) system, generally utilizes a pilot signal to identify a transmitter. The pilot signal is typically a pseudorandom noise (PN) sequence, in some cases having a predetermined time offset. At a wireless receiver, the pilot needs to be demodulated to obtain a reference for time, phase, and signal strength. To demodulate the pilot signal, the receiver must determine the particular pilot PN sequence, generally by using multiple hypotheses tested against an incoming signal to determine the particular pilot signal. For each hypothesis tested, the receiver generates a PN sequence, uses this PN sequence to despread the incoming signal, integrates the resulting signal coherently, and performs an energy measure. If the energy measure is high enough, the receiver may conclude that the synchronization signal has been acquired. The present invention recognizes that there is a random component in the energy measures determined by the receiver. The randomness is extracted for generating random numbers.
In accordance with the present invention, an energy measure is obtained for a signal despread with a hypothesized PN sequence. The energy measure may be tested to ensure that it meets certain minimum criteria. The energy measure is then added to a pool of bits. The energy sample is mixed with the current state of the pool, using a hash function, to produce a new pool state. In a preferred embodiment, the hash function is a SHA-1 function. Then, a second hash function may be performed to mix the bits in the pool before a random number is extracted. In the preferred embodiment, the second hash function is also the SHA-1 function. The extracted random number may also be tested for compliance with certain minimum criteria before the number is provided for use.